﻿#region Namespace References

using DynConDevCorp.OpenArch.SmartData.Core;
using DynConDevCorp.OpenArch.SmartData.Interfaces;
using DynConDevCorp.OpenArch.SmartData.Interfaces.Attributes;
using DynConDevCorp.OpenArch.SmartData.Interfaces.EventArgClasses;

#endregion

namespace UnitTest.DynConDevCorp.OpenArch.SmartData.Unit_Tests
{

    #region Nested type: TestSmartEntity

    internal class TestSmartEntity : SmartEntity
    {
        #region Public Instance Properties
            [AutoField]
            public ISmartField<int> TestField1 { get; private set; }
            [AutoField]
            public ISmartField<int> TestField2 { get; private set; }

            public void OnValueChanged(object sender, ValueChangedEventArgs<int> args)
        {
            
        }
        #endregion
    }

    #endregion

    #region Nested type: TestSmartEntityCollection

    internal class TestSmartEntityCollection : SmartEntityCollection<TestSmartEntity>
    {
        #region Constructors

        public TestSmartEntityCollection()
        {
            Add(new TestSmartEntity()); // A default instance immediately increases code coverage
        }

        #endregion
    }

    #endregion
}